#pragma once

struct git_annotated_commit;

namespace git
{

class AnnotatedCommit
{
public:
    AnnotatedCommit() {}

    AnnotatedCommit(git_annotated_commit *ptr);

    AnnotatedCommit(const AnnotatedCommit &) = delete;

    AnnotatedCommit(AnnotatedCommit &&b);

    ~AnnotatedCommit();

    AnnotatedCommit &operator=(const AnnotatedCommit &) = delete;

    AnnotatedCommit &operator=(AnnotatedCommit &&b);

private:
    git_annotated_commit *ptr_ = nullptr;
};

} // namespace git
